package com.ioftv.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ioftv.entity.SupplierRegistration;
import com.ioftv.dto.PageQuery;
import com.ioftv.dto.PageResult;
import java.util.List;

public interface SupplierRegistrationService extends IService<SupplierRegistration> {
    
    /**
     * 保存供应商报名信息
     * @param supplierRegistration 供应商报名信息
     * @return 保存后的供应商报名信息
     */
    SupplierRegistration saveSupplierRegistration(SupplierRegistration supplierRegistration);
    
    /**
     * 根据ID获取供应商报名信息
     * @param id 供应商报名信息ID
     * @return 供应商报名信息
     */
    SupplierRegistration getSupplierRegistrationById(Long id);
    
    /**
     * 更新供应商报名信息
     * @param supplierRegistration 供应商报名信息
     * @return 更新后的供应商报名信息
     */
    SupplierRegistration updateSupplierRegistration(SupplierRegistration supplierRegistration);
    
    /**
     * 根据ID删除供应商报名信息
     * @param id 供应商报名信息ID
     * @return 是否删除成功
     */
    boolean deleteSupplierRegistrationById(Long id);
    
    /**
     * 分页查询供应商报名信息列表
     * @param pageQuery 分页查询参数
     * @param supplierName 供应商名称（模糊查询）
     * @param project 项目名称（模糊查询）
     * @param expertiseType 擅长标注类型（精确查询）
     * @param approvalStatus 审批状态（0-未审批，1-审批通过，2-审批失败）
     * @return 分页结果
     */
    PageResult<SupplierRegistration> getSupplierRegistrationList(PageQuery pageQuery, String supplierName, String project, String expertiseType, String approvalStatus);
}